home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 10 / FM Towns Free Software Collection 10.iso / ms_dos / tool / expr / expr.doc < prev    next >
Text File  |  1995-02-04  |  8KB  |  244 lines

  1. ==============================================================================
  2.                       式計算ユーティリティ Version 1.00a
  3.  
  4.                             for all MS-DOS Machines
  5.  
  6.                             Copyleft 1994 Delmonta
  7. ==============================================================================
  8.  
  9.  
  10. 第1章  はじめに
  11.  
  12.   本ツールは、キーボードから入力した式を計算するものです。 C言語にほぼ準拠した
  13. (ただし、かなり変更も加えています)種々の演算子や、変数も使用可能です。
  14.   本ツールは、 そもそも拙作ソフト「VenusScript」[*1]の一部として作られました。
  15. 従って、本ツールの仕様はVenusScriptの数式機能と完全な互換性があります。
  16.  
  17. note:
  18.  
  19.  [*1] 旺文社・富士通主催「'95パソコンソフトコンテスト」入賞作品。 このマニュア
  20.       ルを書いている時点では未公開。
  21.  
  22.  
  23. 第2章  基本操作
  24.  
  25. 2.1  動作環境
  26.  
  27.   本ツールは、MS-DOS Ver2.1以上が動作するすべてのコンピュータで動作します。 動
  28. 作確認は、次の機種で行いました。
  29.  
  30.      o 富士通 FM TOWNS II HR100 + FMT-KB107 + 日本語MS-DOS Ver5.0 L22
  31.      o NEC PC-9821Ce/S2 + 日本語MS-DOS Ver5.0A-H
  32.  
  33. 2.2  起動と簡単な式の入力
  34.  
  35.   本ツールの起動には、MS-DOSのコマンドラインから次のように入力します。
  36.  
  37.      expr<改行>
  38.  
  39.   プロンプト「>」が表示されますので、 式を入力し、<改行>キーを押してください。
  40. 計算結果が表示されます。
  41.  
  42.      (例) 3+4*5
  43.  
  44.      表示:23
  45.  
  46. 終了したい場合は、プロンプトが出ている段階で改行のみを入力してください。
  47.  
  48. 2.3  16進数の利用
  49.  
  50.   本ソフトでは、  数の先頭に「0x」をつけると、 16進数として扱われます。 なお、
  51. 「0123」のように0から始まる場合でも、8進数ではありませんので注意してください。
  52.  
  53. 2.4  変数
  54.  
  55.   本ソフトでは、変数を使用することができます。変数名は、 英字のあとに0個以上の
  56. 英数字のついたものです。 なお、アンダーバー('_')は英字と同等に扱います。また、
  57. 英字の大文字と小文字は区別されません。
  58.   変数に値を代入するには、「=」という演算子を使います。
  59.  
  60.      (例)
  61.  
  62.      入力: a=3
  63.      表示: 3
  64.      入力: a/4
  65.      表示: 0.75
  66.  
  67.   代入式の後に表示された「3」は、変数aに代入された値を示しています。詳細は次章
  68. を参照してください。
  69.   なお、値を設定していない変数を参照した場合は、その値は0とみなされます。
  70.  
  71.  
  72. 第3章  演算子の種類と優先順位
  73.  
  74.   式で使用できる演算子は、ほぼC言語に準拠しています。しかし、一部にC言語以外か
  75. ら借用したものや、C言語と微妙に動作の違うものがあります。
  76.  
  77. 3.1  括弧
  78.  
  79.   演算子の優先順位を強制的に変えたい場合は、'('と')'を使います。重ねて使うこと
  80. もできます。
  81.  
  82. 3.2  四則演算と余り
  83.  
  84.   +と-は、加減算を表します。*は乗算を、/は除算を表します。
  85.   a%b は、aをbで割った余りを表します。aとbの片方または両方が負の場合は、結果の
  86. 符号はaの符号と一致します。
  87.  
  88. 3.3  符号
  89.  
  90.   +、-は、正負の符号を表します。
  91.   +や-は、文脈によって、3.2の加減算の意味にもなります。
  92.  
  93. 3.4  累乗
  94.  
  95.   a**b は、aのb乗を表します。bは任意の実数であってかまいません。
  96.   a=0のときはb>0、a<0のときはbは整数でなければいけません。
  97.   **は符号より優先順位が高いので注意してください。例えば、 -3の6乗を求めたい場
  98. 合は、(-3)**6 とする必要があります。-3**6 とした場合は、-(3**6) と解釈されてし
  99. まいます。
  100.  
  101. [注意]
  102.  
  103. **は、Fortran言語に由来しています。BASIC風に a^b と書くことはできません(別の意
  104. 味になります)。
  105.  
  106. 3.5  比較
  107.  
  108.   比較演算子は、左辺と右辺を比較して、それが真ならば1に、偽なら0になります。比
  109. 較演算子には、つぎのものがあります。
  110.  
  111.      +-------------------------------+
  112.      | a>b |aがbより大きい           |
  113.      |-----+-------------------------|
  114.      | a<b |aがbより小さい           |
  115.      |-----+-------------------------|
  116.      | a>=b|aがb以上                 |
  117.      |-----+-------------------------|
  118.      | a<=b|aがb以下                 |
  119.      |-----+-------------------------|
  120.      | a==b|aとbが等しい             |
  121.      |-----+-------------------------|
  122.      | a!=b|aとbとが等しくない       |
  123.      +-------------------------------+
  124.  
  125. [注意]
  126.  
  127. >=を=>、<=を=<と書くことはできません。また、aとbの相等は a==b であって、a=b で
  128. はありません。後者はbをaに代入する意味になります。
  129.  
  130. 3.6  シフト
  131.  
  132.   a<<b はaをbビット左にシフトします。a*2**b と等価です。
  133.   a>>b はaをbビット右にシフトします。a*2**-b と等価です。
  134.  
  135. 3.7  否定
  136.  
  137.   !a は、a=0なら1に、a≠0なら0になります。
  138.   ~a  は、aをビットごとに反転します。つまり、aを2進法で表記して、各桁について0
  139. なら1に、1なら0にします。
  140.  
  141. 3.8  論理積・論理和・排他的論理和
  142.  
  143.   a&&b は、a≠0かつb≠0のとき1に、それ以外のとき0になります。a||b は、a≠0また
  144. はb≠0のとき1に、それ以外のとき0になります。
  145.   a&b は、aとbのビットごとの論理積をとります。a|b は、aとbのビットごとの論理和
  146. をとります。これらと&&、||との違いに注意してください。
  147.   a^b は、 aとbのビットごとの排他的論理和をとります。 累乗の意味ではありません
  148. (→3.4 )。
  149.  
  150. 3.9  変数と代入
  151.  
  152.   式には、 変数を使用することができます。変数名は英字または'_'ではじまります。
  153. その後に英数字や'_'がついてもかまいません。
  154.   変数に値を代入するには、=という演算子を使います。 a=bで、 変数aに式bの値がコ
  155. ピーされます。
  156.   また、 a=b  という式の「値」は、 結果的にaに代入された値です。従って、例えば
  157. (a=4)+3 とするのは、先に a=4 としてから  a+3  とするのと同じで、 値は7になりま
  158. す。
  159.   C言語のa+=bのような構文は使用できません。
  160.  
  161. [注意]
  162.  
  163. a=b は、aとbとの相等を表すわけではありません。
  164.  
  165. 3.10  演算子の優先順位
  166.  
  167.   すべての演算子の優先順位の表を、次に示します。下にいくほど優先順位が低くなり
  168. ます。
  169.   結合順序の項目で「単項」とは、   符号のようにただ1つの被演算数を要求するもの
  170. で、○を演算子とすると、○aのような構文をとるものです。○☆aとした場合は、○と
  171. ☆の優先順位の大小に関わらず ○(☆a) と解釈されます。
  172.   「左結合」とは、a○b○c という式があった場合に、(a○b)○c と解釈されるものの
  173. ことです。四則演算などがこれにあたります。
  174.   「右結合」とは、a○b○c という式があった場合に、a○(b○c) と解釈されるものの
  175. ことです。累乗と代入がこれにあたります。
  176.  
  177.      +---------------------------+
  178.      |      演算子      |結合順序|
  179.      |------------------+--------|
  180.      |        ( )       |   ---  |
  181.      |------------------+--------|
  182.      |        ! ~       |  単項  |
  183.      |------------------+--------|
  184.      |        **        | 右結合 |
  185.      |------------------+--------|
  186.      |     + -(符号)    |  単項  |
  187.      |------------------+--------|
  188.      |       * / %      | 左結合 |
  189.      |------------------+--------|
  190.      |       << >>      | 左結合 |
  191.      |------------------+--------|
  192.      |    + -(加減算)   | 左結合 |
  193.      |------------------+--------|
  194.      |       & | ^      | 左結合 |
  195.      |------------------+--------|
  196.      |  < > <= >= == != | 左結合 |
  197.      |------------------+--------|
  198.      |         =        | 右結合 |
  199.      |------------------+--------|
  200.      |       && ||      | 左結合 |
  201.      +---------------------------+
  202.  
  203. 3.11  C言語との違い
  204.  
  205.      o <、>、<=、>=と==、!=の優先順位は同等です。
  206.      o 比較(==、!=、<、>、<=、>=)の優先順位は、ビット演算(&、|、^)より低くなっ
  207.        ています。
  208.      o 代入(=)の優先順位は、2値演算(&&、||)より高くなっています。
  209.      o 2値演算(&&、||)は、左の値だけで結果が決まってしまう場合でも、右の式を評
  210.        価します。例えば、a && (b=2) の場合、たとえaが0であってもbには2が代入さ
  211.        れます。
  212.  
  213.  
  214. 追記 A  最後に
  215.  
  216. A.1  パッケージの内容
  217.  
  218.   本ソフトのオリジナルパッケージには、次のファイルが含まれています。
  219.  
  220.      +-------------------------------------------------+
  221.      |EXPR.EXE|実行プログラム                          |
  222.      |--------+----------------------------------------|
  223.      |EXPR.DOC|ドキュメント(このファイル)              |
  224.      |--------+----------------------------------------|
  225.      |EXPR.C  |ソースプログラム                        |
  226.      +-------------------------------------------------+
  227.  
  228. A.2  著作権等について
  229.  
  230.   作者(Delmontaこと飯嶋浩光)は、  本ソフトについての著作者人格権ならびに著作権
  231. (著作者財産権)を保有しますが、著作権の行使については保留します。すなわち、利用
  232. 者は営利利用の場合を含め、本ソフトを自由に使用することができます。
  233.   また、 本ソフトのソースプログラムは、 自由に他のソフトに組み込んでかまいませ
  234. ん。 また、 その場合、たとえ営利利用の場合であっても、連絡等は特に必要ありませ
  235. ん。
  236.  
  237. A.3  連絡先
  238.  
  239.   本ソフトについてのご意見、ご感想は次の宛先までお願いします。
  240.  
  241.                          314 茨城県鹿島郡鹿島町鉢形台3-9-13
  242.                                      飯嶋  浩光
  243.  
  244.